Method and arrangement for signal processing particular image signal processing

ABSTRACT

The invention relates to a method and an arrangement for signal processing, in particular image signal processing, whereby, in particular for scanning values of input and/or output values, polynomials are calculated and, starting from input co-ordinates (x, y), co-ordinate transformations are carried out to give transformed co-ordinates (F OUT). According to the invention, the calculation of a polynomial is achieved by successive multiplication of a first partial polynomial and the second partial polynomial is not used on calculating the polynomial. The arrangement comprises processing units (PE) which can be configured, and with which the first partial polynomials are calculated.

TECHNICAL BACKGROUND

This invention relates to a method and an arrangement for signalprocessing, in particular for image signal processing according to thepreamble of claims 1 and/or 5.

Transformed coordinates are needed when discrete signal processing is togenerate and/or equalize a distortion of the spatial and/or timedimension of a signal. Such signal processing works sequentially withvariable coordinates. Transformed coordinates must be calculated forthese input coordinates. Transformed coordinates are used to read datafor signal processing and/or to store the results of processing.

Transformed coordinates must be computed separately for each scanningvalue of an input signal or output signal. In the case of image data inparticular, this requires an enormous computation capacity. This highcomputation capacity can be made available efficiently by an arithmeticprocessing unit.

A very flexible definition of a coordinate transformation is possible byusing a polynomial-based formula. One example is a polynomial of thefourth order with an input coordinate “x” which is given as follows:f(x)=c ₀ +C ₁ ·x+c ₂ ·x ² +c ₃ ·x ³ +c ₄ ·x ⁴  (equation 1)

The coefficients “c” define the function of the polynomial.

Several polynomials must be calculated with different coefficients fortransformation of multiple coordinates “(x, y, z, . . . )” totransformed coordinates “(x_(t), y_(t), z_(t), . . . )”.

State of the Art

It is very complex to implement the calculation of equation 1 directly.In particular the high number of multiplications results in a verycomplex circuitry implementation.

A more efficient calculation is possible if the multiplications forcalculation of the exponents of the input coordinates “x” are combinedwith the multiplications of the coefficients “c_(n).” This represents asuccessive multiplication of partial polynomials according to thefollowing equation:f(x)=c ₀ +x·(c ₁ +x·(c ₂ +x·(c ₃ +x·c ₄)))  (equation 2)

Practical problems, especially image processing, however, require a highlevel of complexity, even in the case of a circuit implementationaccording to equation 2.

Object

The object of this invention is to provide a method and an arrangementof the type defined in the preamble which will reduce the requiredcomputation complexity.

Achievement

This object is achieved with the features of claims 1 and 5. Coordinatetransformation is performed by successive multiplication of partialpolynomials; some coefficients are equated with zero by usingsymmetries.

This invention is associated with many advantages. The number ofrequired multiplication steps of kept low and the complexity of theinventive circuit configuration is reduced.

At the same time, the coordinate transformation is designed to bepractically universally configurable so that a plurality of applicationsis supported.

This invention will now be described on the basis of the figures, whichshow:

FIG. 1 a circuit configuration for computation of a polynomial of thethird order according to the state of the art;

FIG. 2 a submodule of an inventive circuit configuration according toFIG. 3 or FIG. 4;

FIG. 3 a first exemplary embodiment of an inventive circuitconfiguration and

FIG. 4 a second exemplary embodiment of an inventive circuitconfiguration.

EXEMPLARY EMBODIMENT

The following equation holds for the calculation of a coordinatetransformation with two input coordinates “x” and “y” and a third-orderpolynomial: $\begin{matrix}{{f\left( {x,y} \right)} = {c_{00} + {c_{01} \cdot x} + {c_{10} \cdot y} + {c_{02} \cdot x^{2}} + {c_{11} \cdot x \cdot y} + {c_{20} \cdot y^{2}} + {c_{03} \cdot x^{3}} + {c_{12} \cdot x^{2} \cdot y} + {c_{21} \cdot x \cdot y^{2}} + {c_{30} \cdot y^{3}}}} & \left( {{equation}\quad 3} \right)\end{matrix}$

This can be implemented more efficiently with the following computation:$\begin{matrix}{{f\left( {x,y} \right)} = {c_{00} + {x \cdot \left( {c_{01} + {x \cdot \left( {c_{02} + {x \cdot c_{03}}} \right)}} \right)} + {y \cdot \left( {c_{10} + {x \cdot \left( {c_{11} + {x \cdot c_{21}}} \right)} + {y \cdot \left( {c_{20} + {x \cdot c_{12}} + {y \cdot c_{30}}} \right)}} \right)}}} & \left( {{equation}\quad 4} \right)\end{matrix}$

A circuit architecture which implements this computation directly isshown in FIG. 1. The modules labeled as MULT perform a multiplicationand the modules labeled as ADD perform addition. The modules MULT formultiplication are especially complex. For calculation of equation 4,nine multiplication modules are needed.

Image processing applications often have an inherent symmetry. Thissymmetry results, for example, from projection or image acquisition byusing a lens system. There is an optical axis which is at the center ofthe lens and is thus at the center of the image. Interference due to thelens is then symmetrical with an axis. An axis of symmetry may alsoresult from the arrangement of a projection system in relation to thesurface onto which the image is to be projected. This symmetry, i.e.,redundancy is utilized and the number of multiplication steps isreduced. To do so, it may be necessary to shift the input coordinates sothat the axis of symmetry coincides with the zero point of thecoordinates.

The symmetries may also be determined by computation, in which case thiswill also determine which coefficients c are set at zero so that thecorresponding (“second”) partial polynomials are not used in calculationof a polynomial.

As an example, let us use equation 5, for calculation of which threemultiplication steps are necessary.f(x, y)=20−2·x−10·y+2·x·y=20+x·(−2+2 y)−10y  (equation 5)

Equation 5 contains a symmetry with respect to x=5 and y=1. Bysubtracting these values, this yields the following equivalent equation:f(x,y)=10+2·(x−5)·(y−1)  (equation 6)

For calculation of equation 6 only two multiplication steps are needed(instead of three, as in equation 5) so that the circuit complexity canbe eliminated. The shift in coordinates by subtraction can be performedjointly for each use of a coordinate. This means that the shiftedcoordinates “x_(s)” and “y_(s)” are calculated first. The polynomial forthe coordinate transformation is then based on these shiftedcoordinates. For the example from equation 6, equation 7 thus yields thefollowing:f(x _(s) , y _(s))=10+2·x _(s) ·y _(s)withx _(s) =x−5; y _(s) =y−1  (equation 7)

An efficient circuit architecture for calculation of polynomial-basedmultidimensional coordinate transformations is based on a submodulecalled a PE as depicted in FIG. 2.

The submodule PE receives as input the coordinates shifted to the axesof symmetry, shown for two coordinates “x_(s)” and “y_(s)” in thefigure. One coordinate is selected by a multiplexer (MUX) and madeavailable as a multiplicand to a multiplication submodule (MULT). Themultiplier is formed by an adder (ADD) from the sum of the other inputs.These inputs are a fixed constant (const) and output signals ofpreceding stages.

FIG. 3 shows the circuit architecture for calculation of coordinatetransformations. The circuit architecture consists of subtractors(OFFSET) for calculation of the shifted coordinates X_S, Y_S as thedifference between the input coordinates X, Y and a programmableconstant D_X, D_Y. The shifted coordinates are sent to submodules PEwhich are arranged in a cascade (stage 0, stage 1, stage 2, stage n-1,stage n). The outputs of a submodule PE are connected to the inputs of asubmodule or to the inputs of multiple submodules PE of a subsequentstage. If a submodule PE is connected to multiple subsequent submodulesPE, these connecting lines may be configured via switches (SWITCH). Theswitches (SWITCH) relay output signals of a PE or replace them by thevalue zero.

The results of the last stage at submodules PE (stage 1) are combinedwith another constant (const) with a final adder (ADD_F) (stage 0) andform the transformed coordinate F_OUT.

The number of stages determined the degree of the polynomial that can becalculated with the overall circuit. The number of submodules PE perstage determined the number of coefficients not equal to zero that canbe selected per degree of polynomial and thus the number of “firstpartial polynomials” that can be calculated. “Second partialpolynomials” for which the coefficients are equated with zero are notcalculated on the basis of symmetries.

FIG. 4 shows an architecture which calculates a polynomial of the fifthorder according to equation 8. $\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}\begin{matrix}{{f\left( {x_{s},y_{s}} \right)} = {c_{00} +}} \\{c_{00} + {c_{01} \cdot x_{s}} + {c_{10} \cdot y_{s}} +}\end{matrix} \\{{c_{02} \cdot x_{s}^{2}} + {c_{11} \cdot x_{s} \cdot y_{s}} + {c_{20} \cdot y_{s}^{2}} +}\end{matrix} \\{{c_{03} \cdot x_{s}^{3}} + {c_{12} \cdot x_{s}^{2} \cdot y_{s}} + {c_{21} \cdot x_{s} \cdot y_{s}^{2}} +}\end{matrix} \\{{c_{30} \cdot y_{s}^{3}} + {c_{04} \cdot x_{s}^{4}} + {c_{13} \cdot x_{s}^{3} \cdot y_{s}} + {c_{22} \cdot x_{s}^{2} \cdot y_{s}^{2}} +}\end{matrix} \\{{c_{31} \cdot x_{s} \cdot y_{s}^{3}} + {c_{40} \cdot y_{s}^{4}} + {c_{05} \cdot x_{s}^{5}} + {c_{14} \cdot x_{s}^{3} \cdot y_{s}} +}\end{matrix} \\{{c_{32} \cdot x_{s}^{3} \cdot y_{s}^{2}} + {c_{23} \cdot x_{s}^{2} \cdot y_{s}^{3}} + {c_{41} \cdot x^{5} \cdot y_{s}^{4}} + {c_{50} \cdot y_{s}^{5}}}\end{matrix} \\{{where}\quad}\end{matrix} \\{{x_{s} = {x - d_{x}}};{y_{s} = {y - d_{y}}}}\end{matrix} & \left( {{equation}\quad 8} \right)\end{matrix}$

The lowest (bottom) stage (stage 0) processes the results of thepreceding stage and adds the constant c₀₀ from equation 8.

Stage 1 contains two submodules PE which calculate the terms of thefirst degree (x_(s), y_(s)) according to c₀₁ and c₁₀.

Stage 2 contains three submodules PE which calculate the terms of thesecond degree (x_(s) ², x_(s)·y_(s), y_(s) ²) according to c₀₂, c₁₁ c₂₀.

Stage 3 contains two submodules PE which calculate the terms of thethird degree (x_(s) ³, x_(s) ² ·y_(s), x_(s)·y_(s) ² y_(s) ³) accordingto c₀₃, c₁₂, c₂₁, c₃₀. Since there are only two submodules PE, only twoof the coefficients of this degree can be freely selected so two “firstpartial polynomials” are calculated. The other coefficients are set atzero (“second partial polynomials”).

Stage 4 contains two submodules PE which calculate the terms of thefourth degree (x_(s) ³, x_(s) ²·y_(s), x_(s)·y_(s) ² y_(s) ³) accordingto c₀₄, c₁₃, c₂₂, c₃₁, c₄₀. As in the preceding stage (stage 2) againonly two submodules PE are present so only two of the coefficients arefreely selected (two “first partial polynomials”), while the othercoefficients are set at zero (“second partial polynomials”).

Stage 5 contains three submodules PE which calculate the terms of thefifth degree (x_(s) ⁵, x_(s) ⁴·y_(s), x_(s) ³·y_(s) ², x_(s) ²·y_(s) ³,x_(s)·y_(s) ⁴, y_(s) ⁵) according to c₀₅, c₁₄, c₂₃, c₃₂, c₄₁, c₅₀. Withthe three submodules PE, three of the coefficients can be selected forvalues not equal to zero (three “first partial polynomials”). Since thisstage is not preceded by any other stage, the inputs of the submodule PEthat are not used are connected to the value zero. The adders of thesubmodules PE may then be omitted and the signal identifying theconstant is sent directly to the multiplication submodule of thesubmodule.

A submodule PE from stage 5 can be connected by the connection labeledas “bypass” not only to the input of a submodule PE from the nextfollowing stage (stage 4) but can also be connected to submodule (PE)inputs of other downstream stages (stage 3 and stage 2) in FIG. 3).Instead of a fifth-order term, another term of the fourth or third ordermay be implemented.

The configuration, i.e., circuit configuration described above withreference to FIGS. 3 and 4, can be controlled in such a way that apolynomial is calculated by successive multiplications of first partialpolynomials and second partial polynomials are not used in calculationof the polynomial.

The configuration, i.e., the circuit configuration described above, maybe a part (“CT”) of the configuration disclosed for image processingwith concomitant coordinate transformation in German Patent 100 52 263A1 (applicant: Liesegang Electronics GmbH, Hanover, Germany).

List of Reference Notation

-   x, y Input coordinates-   x_(s), y_(s) Shifted coordinates-   F_OUT Transformed coordinates-   c0, . . . Coefficients-   const Fixed constant-   D_X, D_Y Programmable constants-   MULT Multiplication module-   ADD Addition module-   MUX Multiplexer-   OFFSET Subtractor-   PE Submodule-   Stage 0, . . . Submodule stage 0, . . .-   SWITCH Switch

1. A method of signal processing in particular image signal processingwhereby polynomials are calculated based on scanning values of inputvalues and/or output values and coordinate transformations are performedon the basis of the input coordinates (x, y) and transformed coordinates(F_OUT) are formed, wherein a) a polynomial is calculated by successivemultiplication of first partial polynomials and b) second partialpolynomials are not used in the calculation of the polynomial.
 2. Themethod according to claim 1, wherein the second partial polynomials aredetermined on the basis of symmetries in the polynomial.
 3. The methodaccording to claim 1, wherein the input coordinates (x, y) are shiftedby subtraction of constants (const, D_X; D_Y).
 4. The method accordingto claim 3, wherein the same constant (const) is subtracted for eachinput coordinate (x, y) and the subtraction operations are combined. 5.A configuration for signal processing, in particular for image signalprocessing, according to a method of claim 1, wherein the arrangement iscontrollable in such a manner that a polynomial is computed bysuccessive multiplication of a first partial polynomial in that way andsecond partial polynomials are not used in computation of thepolynomial.
 6. The arrangement according to claim 5, wherein thearrangement has configurable processing units (PE) with which the firstpartial polynomials are calculated.
 7. The arrangement according toclaim 6, wherein the configurable processing units (PE) are cascaded inat least two stages (stage 0, stage 1, stage 2, stage n=1, stage n) andare arranged in such a way that the output signals of one stage areprocessed further in one or more downstream stages.
 8. The arrangementaccording to claim 6, wherein a configurable processing unit (PE) has amultiplexer unit (MUX), an addition unit (AD) and a multiplication unit(MULT), the multiplexer unit (MUX) selects a coordinate (X_S, Y_S) insuch a way that the addition unit (ADD) adds at least one output signalof at least one upstream stage and at least one constant (const) and themultiplication unit (MULT) multipliers the output signals of themultiplexer unit (MUX) and the addition unit (ADD).
 9. The arrangementaccording to claim 8, wherein a subtraction unit (OFFSET) is connectedupstream from the configurable processing unit (PE) and forms thecoordinate to be selected (X_S, Y_S) by the multiplexer unit (MUX) froman input coordinate (x, y) and a programmable constant (D_X, D_Y). 10.The arrangement according to claim 7, wherein output signals of at leastone stage are not patched through by switches (SWITCH).
 11. Thearrangement according to claim 6, wherein it has fewer configurableprocessing units (PE) than are needed for calculation of a completepolynomial.